package com.MapAndSet.www;

import java.util.*;

/**
 * Creared with IntelliJ IDEA.
 * Description:
 * User:yxd
 * Date:2022-02-21
 * Time:12:49
 */
public class Test {
    public static void main1(String[] args) {
        Map<String,Integer> map = new HashMap<>();//最多使用hash
        map.put("hh",2);//放k,v
        map.put("stone",1);
        map.put("hello",3);//重复放不会计入
        map.put("hello",2);//重复放不会计入但是会更新其Value值
        map.put(null,null);//HashMap可以放null 但TreeMap不能放
        System.out.println(map.get("hh"));//通过Key得到Value值
        System.out.println(map.getOrDefault("stone", 58));
        System.out.println(map.getOrDefault("www", 88));//如果存在Key值就得出其Value值没有就赋值
        System.out.println(map.get("www"));//但是不会存入map中
        System.out.println(map);//存元素时  会被（通过一个函数(哈希函数)）加工  不是按顺序排列的
        map.remove("hh");//删除
        System.out.println(map);
        Set<String> s = map.keySet();//得到所有不可重复的Key值
        System.out.println(s);
        System.out.println(map.values());//返回所有可重复的Value值
        Set<Map.Entry<String, Integer>> entrySet = map.entrySet();// Map.Entry<String, String>是数据类型 会把Key和Value当做一个整体
        for (Map.Entry<String, Integer> entry:entrySet) {
            System.out.println("key:" + entry.getKey() + " " + "value:" +  entry.getValue());
        }
        System.out.println(map.containsKey("hello"));//是否包含
    }

    public static void main(String[] args) {
        Set<Integer> set = new HashSet<>();//里面所有元素不能重复
        set.add(1);
        set.add(3);
        set.add(2);
        set.add(2);//重复放入的不计入
        System.out.println(set);//也会排序
        //迭代器打印
        Iterator<Integer> iterator = set.iterator();
        while(iterator.hasNext()){
            System.out.print(iterator.next() + " ");
        }
        System.out.println();
        System.out.println(set.remove(2));//删除
        System.out.println(set.contains(2));//是否包含
        System.out.println(set.contains(3));




    }
}
